1. Field of the Invention
The present invention relates to data access in an object oriented network system. More Particularly, the present invention is directed to a client-server utility which increases the speed in which data is accessed across a communications link via remote node caching and verifying.
2. Related Art
Many operating systems are equipped to handle caching and verifying of data. Traditionally, in a remote client's caching system, optimization in retrieving data is limited to prefetching. In other words, an application program in a remote client requests from an object server transmission of a predetermined number of bytes of information (e.g., x bytes) and the operating system on the client prefetches the requested data plus another number of bytes of information (e.g., x+y bytes). Thus, when the application requests the bytes, it already exists in its readily accessible memory (cache).
As shown in FIG. 1, the related art includes a remote client computer having an operating system (OS) with an object interface (OI). Operatively connected to the OI is a local file system (LFS) which in turn is operatively connected to a RAM based disk server (RBDC), disk driver (DD) and permanent storage disk (PSD). Also, operatively connected to the OI is an object retriever (OR) which is connected to a network transport layer (NTL) which is connected to a LAN driver. Aside from the OS, there exist application programs (AP) which employ the OS via the OI. A LAN communication link (LAN LINK) connects the remote client computer to the object server computer.
The object server computer has a LAN driver connected to the LAN LINK, an OS operatively associated with an NTL connected to the LAN driver and an OI connected to an object database (ODB) which in turn is connected to DD and PSD. Aside from the OS, there exists an object server application which employs the OS via the OI.
The problem associated with these prior systems is their inability to provide a remote client user with greater speed of access to object server data. In this regard, the bandwidth of the LAN link is often saturated with the fulfillment of duplicated object retrieval requests by an object server which emanated from remote clients. Another problem is that objects returned by the object server are often returned as disparated sub-objects which must be re-assembled into a contiguous object before presentation of the object to the application program is possible. This is also due partially to the amount of object data which is being transmitted across the LAN LINK and the present methods of updating the object data. Presently, the object server computer serves as the mechanism whereby the data request is verified and subsequently transmitted to the remote client computer.
In the context of the present invention, "remote client" is defined as a user either accessing data over a relatively slow link, such as a modem phone link, or over a relatively high speed link, such a LAN link. A typical modem phone link provides a transfer rate of about 28.8 kilobits of information per second. This is contrasted with a link in a LAN connection which can transfer at about 10 Megabits per second. These remote clients are thus dependent upon the type of communications link they are using in terms of speed of accessing data. In any event, there remains a continuing need to increase the speed of accessing data from a remote site or node and to reduce the amount of network traffic on the LAN.